iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
AI/ ML & Data

從投信數據預測葛蘭碧突破後股價走勢系列 第 12

[Day 12] 資料收集與準備-資料來源

  • 分享至 

  • xImage
  •  

前言

資料來源是訓練模型的第一步,乾淨的數據能讓我們的模型更準確。之前有提到用 FinMind API 抓收盤資料,這次我們聊聊其他取得台股收盤資訊的方式。

yfinance

價量方面
使用 yfinance 抓股價其實很簡單,先安裝 yfinance:

pip install yfinance

然後透過幾行程式碼就可以下載個股的股價資訊:

import yfinance as yf

stock = yf.Ticker("2330.TW")
data = stock.history(start="2024-01-01", end="2024-09-25")
print(data)

這邊是下載台積電(2330)的股價資料,注意 ".TW" 代表上市公司。如果要下載上櫃公司的股價,記得要用 ".TWO" 結尾,不然可能會出現 "無資料" 的情況。

籌碼方面
yfinance 目前沒有直接提供籌碼資訊,這可能是它的一個小缺點。

證交所/櫃買中心 官方網站

上市公司
價量方面
可以從證交所網站下載每日收盤行情。選好日期,點選 "全部(不含權證、牛熊證、可展延牛熊證)",按查詢後下載 CSV。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373aFNcfyidlb.png
籌碼方面
三大法人的資料在不同分頁,例如投信買賣超彙總表,選擇日期後可以下載 CSV 檔案。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373rwPZuKyCiZ.png
上櫃公司
價量方面
上櫃股票行情頁面下載,選好日期後即可下載 CSV。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373lAbdC5dwGr.png
籌碼方面
他同樣分頁化管理,以投信買賣超彙總表為例,選擇日期後可下載資料。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373Sp6c8Wyn4Q.png

要注意,這些下載的資料有很多是非普通股,所以需要再透過程式篩選普通股資料。另外如果短時間大量請求可能導致 IP 被鎖。

XQ 全球贏家

先安裝 XQ 看盤軟體,註冊登入後,可以在個股 K 線頁面右下角設定主圖和副圖。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373gFzKMxV7Xy.png
https://ithelp.ithome.com.tw/upload/images/20240926/20169373S6MbsXAgHN.png
如果需要投信資訊,可以在副圖設定中的 "商品指標" 選擇 "投信",這樣就能在 K 線圖上看到投信的相關資料。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373Rz9y3op1pN.png
匯出 CSV 非常簡單,右鍵點擊圖表,選擇 "輸出到 EXCEL",再另存為 CSV 即可。如果想要匯出指定的時間區間,則可以透過右下角選擇要輸出的範圍。
https://ithelp.ithome.com.tw/upload/images/20240926/20169373gS6XXlcG88.png
https://ithelp.ithome.com.tw/upload/images/20240926/20169373kkQfX6UjIp.png

結論

總結來說,台股收盤資訊的取得方式多元,yfinance 方便但缺少籌碼資訊;官方網站資料完整但操作繁瑣;XQ等第三方平台提供豐富資訊但需要額外處理。

下一篇文章,我會詳細分析每個方法的優缺點,並將這些資源整合,建構一個完整的報價資料庫。在這個過程中,會處理缺失值、日期對齊、去除異常值,確保資料的一致性,讓後續分析和模型訓練更有效率。


上一篇
[Day 11] 從零開始建立一個基於LSTM的投信介入後股價預測系統
系列文
從投信數據預測葛蘭碧突破後股價走勢12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言